﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using Arquitetura.UI.WebApp.SecretariaServiceReference;

namespace Arquitetura.UI.WebApp
{
    public partial class AlunoListar : System.Web.UI.Page
    {
        private SecretariaServiceClient m_secretariaServiceClient;
        private List<Aluno> m_listaAluno;

        protected void Page_Load(object sender, EventArgs e)
        {
            m_secretariaServiceClient = new SecretariaServiceClient();
        }

        protected void btnPesquisar_Click(object sender, EventArgs e)
        {
            CarregarLista();
            grvAlunos.Visible = true;
        }

        protected void btnIncluir_Click(object sender, EventArgs e)
        {
            AlunoManutencao.OperacaoCorrente = AlunoManutencao.Operacao.Incluir;
            Response.Redirect("~/AlunoManutencao.aspx");
        }

        protected void btnLimpar_Click(object sender, EventArgs e)
        {
            txtNome.Text = string.Empty;
            txtSobrenome.Text = string.Empty;
            grvAlunos.Visible = false;
        }

        private Aluno CarregarFiltro()
        {
            Aluno aluno = new Aluno();
            aluno.Nome = txtNome.Text;
            aluno.Sobrenome = txtSobrenome.Text;
            return aluno;
        }

        private void CarregarLista()
        {
            Aluno aluno = CarregarFiltro();
            ResultadoArrayOfAluno resultado = m_secretariaServiceClient.ListarAlunoFiltro(aluno);
            if (resultado.Sucesso)
            {
                m_listaAluno = resultado.Retorno;
            }
            else
            {
            }
            CarregarGrid();
        }

        private void CarregarGrid()
        {
            grvAlunos.DataSource = m_listaAluno;
            grvAlunos.DataBind();
        }

        protected void grvAlunos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            grvAlunos.PageIndex = e.NewPageIndex;
            CarregarLista();
            grvAlunos.DataSource = m_listaAluno;
            grvAlunos.DataBind();
        }
    }
}
